This invention relates generally to solid state mass storage systems, and, more specifically, to a file structure for storing data in such systems.
Low cost mass computer storage systems have traditionally used mechanical devices employing magnetic storage media, such as hard disk drives, floppy disk drives and tape. Such memory systems have been very effective and have provided a large amount of data storage capacity at a low cost for use in computer systems. However, there are certain drawbacks to the mechanical/magnetic media systems that have limited development of computer systems and their applications. The mechanical systems lack desired ruggedness for certain applications, such as portable computers, have a limited life due to mechanical wear, and require significant amounts of power to operate them, again a disadvantage in portable computer systems.
As a result, large solid state memory systems have been proposed and have been developed for replacing hard and floppy disk drives. The most promising solid state technology is electrically erasable and programmable read only memory ("EEPROM"). This technology provides non-volatile memory that can be erased and reprogrammed tens of thousands of times. A flash EEPROM system allows erasure of the entire memory or designated portion of the memory at one time, i.e., in a "flash".
It is desirable that such a flash EEPROM memory system be able to communicate with a computer system of which it is a part as if the memory is a disk drive. That is, since computer circuitry and operating software for communicating with a hard disk drive, for example, has been fully developed as an industry standard interface for mass storage of data, it is desirable that a flash EEPROM memory system also communicate with the computer system in the same manner. Much of the control and status communication between a computer system and a hard disk drive is not applicable for a flash EEPROM system, while other control and status information is necessary but must be changed in form. An appropriate controller is provided as part of flash EEPROM system for providing that translation.
A usual disk drive records data from the computer system in physical sectors having a certain capacity, such as 512 bytes, plus a large number of bytes that go along with each sector of data as a header to identify control information about the sector of data and its disk location (address). It is also desirable in a flash EEPROM memory system to store data in blocks and provide header information as part of each block. Therefore, it is a principal object of the present invention to provide a data and header block file storage technique in a flash EEPROM mass storage system that takes full advantage of the capabilities of the EEPROM technology, but without retaining limitations of the disk storage technology.